/*
 * Nombre: ProgramaEducativo.java
 * Version: 1.0.0
 * Diagrama: GAPI v2.3.1
 * Autor: Amado de Jesús Canté Cauich
 * Creado: 12-feb-2013
 * Modificado:
 * Caso de uso: MGPE1, MGPE2, MGPE3
 */
package Dominio;

/**
 * Clase que representa un programa educativo en el sistema
 *
 * @author amado.cante
 */
public class ProgramaEducativo {

    private String nombre;
    private int cvePrograma;
    private Carrera carrera;
    private ReticulaAcademica reticula;

    /**
     * Método constructor
     *
     * @param nombre - El nombre del programa educativo
     * @param cvePrograma - La clave del programa educativo
     * @param carrera - La carrera del programa educativo
     * @param reticula - La retícula del programa educativo
     */
    public ProgramaEducativo(String nombre, int cvePrograma, Carrera carrera, ReticulaAcademica reticula) {
        this.nombre = nombre;
        this.cvePrograma = cvePrograma;
        this.carrera = carrera;
        this.reticula = reticula;
    }

    /**
     * Método constructor
     *
     * @param nombre - El nombre del programa educativo
     * @param carrera - La carrera del programa educativo
     * @param reticula - La retícula del programa educativo
     */
    public ProgramaEducativo(String nombre, Carrera carrera, ReticulaAcademica reticula) {
        this.nombre = nombre;
        this.carrera = carrera;
        this.reticula = reticula;
    }

    /**
     * Retorna el nombre del programa educativo
     *
     * @return el nombre del programa educativo
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * Asigna el nombre del programa educativo
     *
     * @param nombre - EL nombre del del programa educativo
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * Retorna la clave del programa educativo
     *
     * @return la clave del programa educativo
     */
    public int getCvePrograma() {
        return cvePrograma;
    }

    /**
     * Asigna la clave del programa educativo
     *
     * @param cvePrograma - La clave del programa educativo
     */
    public void setCvePrograma(int cvePrograma) {
        this.cvePrograma = cvePrograma;
    }

    /**
     * Retorna la carrera del programa educativo
     *
     * @return la carrera del programa educativo
     */
    public Carrera getCarrera() {
        return carrera;
    }

    /**
     * Asigna la carrera del programa educativo
     *
     * @param carrera - La carrera del programa educativo
     */
    public void setCarrera(Carrera carrera) {
        this.carrera = carrera;
    }

    /**
     * Retorna la retícula académica del programa educativo
     *
     * @return la retícula académica del programa educativo
     */
    public ReticulaAcademica getReticula() {
        return reticula;
    }

    /**
     * Asigna la retícula académica del programa educativo
     *
     * @param reticula - La retícula académica del programa educativo
     */
    public void setReticula(ReticulaAcademica reticula) {
        this.reticula = reticula;
    }
}
